S3C44B0X微處理器在汽車防抱死控制系統(tǒng)中的應(yīng)用
2007/10/29 14:59:00
引言:基于ARM微處理器和µC/OS-Ⅱ開發(fā)的嵌入式防抱死制動系統(tǒng)具有實(shí)時性好,可靠性高等特點(diǎn),能在很大程度上提高控制器的可靠性和車輛的制動性能。 一 S3C44B0X微處理器和µC/OS-Ⅱ操作系統(tǒng)的結(jié)合是我們開發(fā)的基礎(chǔ)。 1、微處理器:一個成功的汽車電子控制單元,取決于設(shè)計時對所用微處理器的選擇?,F(xiàn)代發(fā)動機(jī)和自動變速箱的電子控制單元一般需要采用32位的CPU來處理實(shí)時算法。而在汽車的底盤、安全和車身系統(tǒng)等領(lǐng)域,就可以根據(jù)控制的復(fù)雜程度使采用16位或者32位兩種微處理器。但是,底盤控制器在其大部分工作時間內(nèi),要對傳感器進(jìn)行掃描,而CPU又必須時時刻刻能夠提供相應(yīng)的處理能力,能在僅僅幾個毫秒的時間內(nèi)完成整個判定程序,并起動應(yīng)用程序。三星公司的S3C44B0X是一種主頻達(dá)66MHz的高性能微處理器,具有豐富的接口資源,已經(jīng)在眾多行業(yè)得到了高性價比的驗(yàn)證。據(jù)悉,在上海浦東張江已經(jīng)有某家汽車產(chǎn)品開發(fā)公司在使用該微處理器開發(fā)汽車相關(guān)控制方面的產(chǎn)品。 2、編程語言:在過去,軟件工程師們開發(fā)基于8位處理器和16位處理器汽車電控單元時,大多采用匯編語言來編制程序。而當(dāng)今隨著開發(fā)周期的縮短和軟件復(fù)雜性的提高,使得設(shè)計師們不得不采用PLM,C語言等高級語言,總的看來,汽車嵌入式系統(tǒng)的開發(fā)中,軟件的趨勢是向C語言發(fā)展。將µC/OS-Ⅱ移植到ARM7TDMI微處理器上所采用的是可產(chǎn)生可重入代碼的C編譯器,而且因?yàn)椴僮飨到y(tǒng)本身其代碼大部分就是用C語言編寫的 3、操作系統(tǒng):控制器設(shè)計師必須分析控制性能對操作系統(tǒng)的要求。隨著嵌入式系統(tǒng)復(fù)雜程度的增加,汽車工業(yè)將采用實(shí)時操作系統(tǒng)RTOS和更復(fù)雜的軟件開發(fā)工具。高度綜合的娛樂、話音識別和路況引導(dǎo)系統(tǒng),早已用實(shí)時軟件處理來自用戶和通信信息源的異步輸入。但是,汽車嵌套系統(tǒng)的設(shè)計師們還是抱怨,對于容量大而存儲器少的車輛控制系統(tǒng),商用的RTOS還是太大,功能也過多。為了解決這些抱怨,歐洲汽車制造商們規(guī)定OSEK標(biāo)準(zhǔn)為汽車嵌套控制器開發(fā)的公共平臺的應(yīng)用編程接口。(OSEK的名稱來源于德國的一種叫法:“車內(nèi)電子設(shè)備的開放系統(tǒng)和接口 ”)。一種免費(fèi)的源代碼公開的實(shí)時操作系統(tǒng)µC/OS-Ⅱ于上世紀(jì)90年代初應(yīng)運(yùn)而生,國外界內(nèi)專業(yè)人士已經(jīng)在非常廣泛的領(lǐng)域使用了該操作系統(tǒng),適用于該操作系統(tǒng)的芯片幾乎包含了全球各主要芯片生產(chǎn)商,如Intel,AMD等,國內(nèi)同行較多在Motorola芯片上成功使用了該操作系統(tǒng),越來越多的用戶已經(jīng)在Intel的16位微處理器比如8XC196KC上成功的實(shí)現(xiàn)了µC/OS-Ⅱ的運(yùn)行。 基于此,我們選擇三星公司的這種微處理器和已經(jīng)得到廣泛應(yīng)用的源代碼公開的操作系統(tǒng)來開發(fā)我們的電控單元。 二 防抱死制動系統(tǒng)的控制原理 一般的,防抱死制動系統(tǒng)就是在每一個車輪上車輪轉(zhuǎn)速傳感器,用以測量轉(zhuǎn)速。這些傳感器將車輪轉(zhuǎn)速轉(zhuǎn)變?yōu)殡娦盘栞斎腚娍貑卧?,而在每一個車輪附近都安裝有開關(guān)電磁閥,電控單元根據(jù)轉(zhuǎn)速信號計算車輪和車輛本身的運(yùn)動狀態(tài),當(dāng)發(fā)現(xiàn)車輪制動趨于抱死時,就向這些或常開或常閉型的電磁閥發(fā)出電信號,以執(zhí)行開或關(guān)的動作,使得一部分制動液從制動輪缸中流出,從而減小輪缸的制動壓力,即減壓;在制動壓力減小到一定程度時,車輪抱死趨勢消除,就保持制動輪缸的制動壓力,即保壓;當(dāng)車輪在慣性作用下又加速到一定程度時,在增大制動輪缸的制動壓力,即增壓;當(dāng)車輪又被制動到趨于抱死的狀態(tài)時,再執(zhí)行減壓過程,如此往復(fù)循環(huán),確保車輪在制動過程中得到最大的路面附著力,最短的制動距離,避免了抱死現(xiàn)象的發(fā)生。下面是某車型防抱死制動系統(tǒng)結(jié)構(gòu)分布圖(圖一): 三 硬件設(shè)計 ABS 的硬件原理圖見圖二 1、MCU:該控制器所采用的微處理器為Samsung公司的S3C44B0X,采用0.25µmCMOS工藝,其CPU采用ARM公司的主頻為66MHz并帶8KB緩存的ARM7TDMI RISC結(jié)構(gòu),支持片上ICE中斷調(diào)試,并具有32位硬件乘法器。它還有兩個DMA通道,5個PWM定時器及1個內(nèi)部定時器,8個外部中斷源,8個10位的ADC,71個通用I/O口;另外,在能耗控制方面的性能顯得尤為突出,它總共有四種能量控制模式,包括正常、低、休眠和停止。片上ICE中斷調(diào)試支持JTAG調(diào)試方式,是該微處理器最顯著的特點(diǎn),這也是與以往單片機(jī)開發(fā)方式最明顯的區(qū)別之一。它的接口資源也及其豐富,有IIS總線接口,I2C總線接口,同步串行I/O口。 2、ROM電路:采用AM29F010-120/BUA(32)型DIP-32封裝的Flash,既可以滿足ABS數(shù)據(jù)容量的需要,又可以為后續(xù)設(shè)計擴(kuò)容。見圖三: 圖三 擴(kuò)展ROM電路 3、UART電路,S3C44B0X有2個帶DMA和中斷的UART,即有兩路TXD1、RXD1,TXD0、RXD0;支持5位、6位、7位、8位串行數(shù)據(jù)傳送與接收及傳送與接收時的雙向握手;每一個通道有2個內(nèi)部32位FIFO。 4、電磁閥(12V)驅(qū)動電路,電機(jī)(12V)驅(qū)動電路 用最新AG4的ECU電磁閥專用驅(qū)動芯片。 四 軟件設(shè)計:軟件設(shè)計是整個ABS電控單元設(shè)計的核心。因?yàn)椴捎迷?2位的微處理器,在很大程度上是為了簡化硬件的結(jié)構(gòu),并可以利用其豐富的I/O和接口,在現(xiàn)有基礎(chǔ)上實(shí)現(xiàn)底盤集成控制系統(tǒng)的研制。為了充分協(xié)調(diào)各項(xiàng)控制功能并提高CPU的利用率,軟件采用模塊化設(shè)計,將每一模塊當(dāng)作一獨(dú)立的任務(wù)來管理。 1、 控制邏輯的進(jìn)一步分析:ABS的主要任務(wù)是控制邏輯算法以保持高制動力,同時通過調(diào)整產(chǎn)生符合要求的側(cè)傾力以保持車輛的操縱穩(wěn)定性。這些信息要靠制動及回轉(zhuǎn)時對附著系數(shù)-滑移率(µ-s)曲線和車輛行駛狀態(tài)的假定來獲得??刂埔?guī)則是要對車輪轉(zhuǎn)速進(jìn)行調(diào)節(jié)而不是制動壓力,它解決了車輪制動壓力到底要減少多少這個問題。如果車輪減速太快,那么就意味著制動壓力的減少;而又因?yàn)橹苿訅毫Φ臏p少,車輪又會加速,那么相應(yīng)的制動壓力又會增長。壓力的增加要逐步進(jìn)行,以減少車輪運(yùn)轉(zhuǎn)狀態(tài)中瞬時現(xiàn)象的影響,而如果減速度很大的話,就可以快速減少制動壓力。為了更好的進(jìn)行控制邏輯的研究和改進(jìn),要建立各項(xiàng)模型,并對其邏輯進(jìn)行純軟件仿真。 2、 操作系統(tǒng)的移植: 1) 程序下載至Flash的過程:要在ARM7的Boot模式下把程序裝入AM29F010,此時該Flash的地址為0x70000000,CS0是其片選信號。ARM內(nèi)部有個128B的ROM,存放初始化ARM內(nèi)部COM口的程序,還有一個2K的SRAM。采用Boot模式啟動ARM后,初始化程序即對COM口進(jìn)行初始化,并從該口接受2K程序到內(nèi)部SRAM,程序接受完畢即自動跳轉(zhuǎn)到這段2K程序執(zhí)行,用這段程序再次初始化內(nèi)部COM口,然后就可以通過該COM口接受µC/OS-Ⅱ到DRAM了,完成了這些過程,就可以把程序由DRAM裝入AM29F010了。裝入完畢后,要將模式切換到運(yùn)行一般程序用的Normal模式,并重新啟動系統(tǒng),改變模式后的Flash地址變?yōu)?x00000000,重新啟動后的系統(tǒng)會自動跳到該地址開始運(yùn)行µC/OS-Ⅱ。 2) 用typedef聲明10個數(shù)據(jù)類型(OS_CPU.H),并用#define聲明三個宏: #define OS_ENTER_CRITICAL() ARMDisableInt() #define OS_EXIT_CRITICAL() ARMEnableInt() #define OS_STK_GROUTH 1 以C語言編寫6個與µC/OS-Ⅱ相關(guān)的函數(shù)。包括OSTaskStkInit(),OSTaskCreateHook(),OSTaskSwHook(),OSTaskStatHook(),OSTimeTickHook(); 3) 用匯編語言編寫4個和S3C44B0X相關(guān)的函數(shù)。包括OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR(); 五 總結(jié) 本文從實(shí)時性的角度描述了采用S3C44B0X微處理器和µC/OS-Ⅱ操作系統(tǒng)開發(fā)防抱死控制器的基本過程。主要分析了防抱死控制原理和操作系統(tǒng)的移植,并給出了部分硬件電路原理圖。經(jīng)過硬件在環(huán)仿真初步驗(yàn)證了軟硬件的可行性,實(shí)踐證明,采用實(shí)時操作系統(tǒng)以及基于ARM7TDMI核的32位微處理器,大大的提高了系統(tǒng)的實(shí)時性能,并使得系統(tǒng)的擴(kuò)展有了更大的可行性和更優(yōu)的簡易性。真正的嵌入式系統(tǒng),將在汽車電子控制單元的開發(fā)中得到更為廣泛的應(yīng)用。 參考文獻(xiàn): 1. 嵌入式系統(tǒng)構(gòu)件 (美)Jean J.Labrosse 著 袁勤勇 黃紹金 唐菁 等譯 機(jī)械工業(yè)出版社 2002年2月第一版 2. 嵌入式系統(tǒng)編程源代碼解析 (美)Dreamtech 軟件研發(fā)組 著 王勇 蓋江南 閻文麗 等譯 電子工業(yè)出版社 2002年9月第一版 3. µC/OS-Ⅱ——源碼公開的實(shí)時嵌入式操作系統(tǒng) Jean J.Labrosse 著 邵貝貝 譯 中國電力出版社 2001年8月第一版 4. 2001年嵌入式系統(tǒng)及單片機(jī)國際學(xué)術(shù)交流會論文集 沈緒榜 何立民 主編 北京航空航天大學(xué)出版社 2001年10月第一版 5. S3C44B0X RISC MICROPROCESSOR 用戶手冊 英文版 6. 嵌入式系統(tǒng)設(shè)計與實(shí)例開發(fā)——基于ARM微處理器與µC/OS-Ⅱ?qū)崟r操作系統(tǒng) 王田苗 主編 清華大學(xué)出版社2002年9月第一版 7. 汽車?yán)碚?余志生 主編 機(jī)械工業(yè)出版社 8. 其它網(wǎng)絡(luò)資料
提交
查看更多評論
其他資訊
超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機(jī)械的智能化轉(zhuǎn)型
新大陸自動識別精彩亮相2024華南國際工業(yè)博覽會
派拓網(wǎng)絡(luò)被Forrester評為XDR領(lǐng)域領(lǐng)導(dǎo)者
智能工控,存儲強(qiáng)基 | ??低晭砭手黝}演講
展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會